import moment from 'moment';
moment.defineLocale('zh-cn', {
	relativeTime: {
		future: '%s内',
		past: '%s前',
		s: '几秒',
		m: '1分钟',
		mm: '%d分钟',
		h: '1小时',
		hh: '%d小时',
		d: '1天',
		dd: '%d天',
		M: '1个月',
		MM: '%d个月',
		y: '1年',
		yy: '%d年'
	}
})

/**
 * 日期格式化
 * data: 日期
 * format: 格式化样式
 */
export function dateFormatFilter(data, format = 'YYYY-MM-DD') {
	return moment(data).format(format);
}

/**
 * 字典显示
 * data: 存储值
 * dictData：需要过滤的字典数据
 */
export function dictShowFilter(data, dictData) {
	let dictInfo = dictData.find(item => item.value === data);
	return !dictInfo ? data : dictInfo.msg;
}

/**
 * 英文大写变换
 * data：需要转换的字符串
 */
export function uppercaseFilter(data) {
	return data.toUpperCase();
}

/**
 * 英文小写变换
 * data：需要转换的字符串
 */
export function lowercaseFilter(data) {
	return data.toLowerCase();
}

/**
 * 英文首字母大写
 * data：需要转换的字符串
 */
export function capitalizeFilter(data) {
	let fisrtLetter = data.charAt(0);
	let otherLetter = data.slice(1);
	return fisrtLetter.toUpperCase() + otherLetter.toLowerCase();
}

/**
 * 性别转换
 * data：需要转换的字符串
 */
export function sexFilter(data) {
	if (data === '1') {
		return '男'
	} else if (data === '2') {
		return '女'
	} else {
		return '--'
	}
}

/**
 * 公开私有转换
 * data：需要转换的字符串
 */
export function natureFilter(data) {
	if (data === '1') {
		return '公开'
	} else if (data === '2') {
		return '私有'
	} else {
		return '--'
	}
}

/**
 * 文件大小转换
 * input 需要转换的大小
 */
export function sizeFilter(size) {
	let num = 1024;
	let sizeText = '';
	let fileSize = Number(size || 0);
	let unitArr = ['B', 'KB', 'MB', 'GB', 'TB'];
	for (let i = 0; i < unitArr.length; i++) {
		if (fileSize < Math.pow(num, i + 1)) {
			sizeText = Math.ceil(fileSize * 100 / Math.pow(num, i)) / 100 + unitArr[i];
			break;
		}
	}
	return sizeText;
}

/**
 * 转换时间为多少前
 */
export function timeLength(time) {
	let datetime = new Date(time);
	return moment(datetime).fromNow();
}

/**
 * 文件图标过滤
 */
export function fileTypeIcon(data) {
	if (typeof(data) === 'string') {
		if (data === '1') {
			return 'display-picture'
		} else if (data === '2') {
			return 'display-voice'
		} else if (data === '3') {
			return 'display-video'
		} else if (data === '4') {
			return 'display-document'
		} else if (data === '5') {
			return 'display-other'
		}
	} else if (data.isFolder === '1') {
		return 'display-folder'
	} else if (data.showType === '1') {
		return data.iconUrl;
	} else if (data.showType === '2') {
		return 'display-voice'
	} else if (data.showType === '3') {
		return 'display-video'
	} else if (data.showType === '4') {
		if (['doc', 'docx'].inArray(data.attrSuffixStr)) {
			return 'display-word';
		} else if (['xls', 'xlsx'].inArray(data.attrSuffixStr)) {
			return 'display-excel';
		} else if (['ppt', 'pptx'].inArray(data.attrSuffixStr)) {
			return 'display-ppt';
		} else if (['pdf'].inArray(data.attrSuffixStr)) {
			return 'display-file';
		} else if (['txt'].inArray(data.attrSuffixStr)) {
			return 'display-text';
		} else {
			return 'display-defualt';
		}
	} else if (data.showType === '5') {
		if (['zip'].inArray(data.attrSuffixStr)) {
			return 'display-zip';
		} else {
			return 'display-other';
		}
	}
}